complete code without debug