more api refractoring