this time with tests