everything should work. gonna write more tests later