Rename && define proper interfaces