COMPLETE REDESIGN FORK FROM HERE