FINISHED ALL CODE