Had to work on this a bit