unit tests working for all three