moved assertions into their own namespace, commented out incomplete functions