Lots of additions according to direction