adding more api features in new re-write