Could have been a little cleaner but overall not bad