prototyped some interface and controllers