Initial checkin after refactoring code to version 3.0.0