add test, maybe some errors