fully debugged