maybe simplify some interface names