Cleaned up a bit, reverted API back to normal