cleaned up initializiation