making API more semetric