fix nested promise handling
separate root routing from star controller