adding tests and push function