implement basic objectives functionality