Cleaned up, added new methods