implements basic navigation