changes in namespace and added exceptions