add tests & fix cs