gaps between functions are added, pointer stack's and list's problems with memory loosing in constructors have been solved by modifying pushing