making some progress, put in 55% of rest functionality