fixes, add tests