initialize, and consider some unit tests