working! rewriting tests..