rest debugged, complete 100%