Implemented some ULA generation

As always, It will need a spot of tidying