An algorithm for the generation of shape functions in Serendipity elements, Engineering Computations