cleaned up init