move open position logic to method