Restructured, added convenience classes