Cleaned up, re-organized