debugged, let's write the interface