Not sure I like this code!