could be a little cleaner