Cleaned up a bit. Could still use some improving.