start work on implementation