Cleaned API (breaking backwards compatibility), added new methods