Cleaned up the code a bit