cleaned up .. added comments