privatize
bad integration tests and initial working version