all unit tests working