i think this approach is the better of the two!