use bitfields to get more than one direction