now also loads factory package at compile time
adding factory package
adding run time unit test