made some interfaces internal