Namespace reorganization and Public types rename as stated in issue #48.