working, adding tests