Separated API into more interfaces