now with woking unit tests