Defined most of API