everything works just have to add test functions