Cleaned up, made basic api, multiple components positioning not exact