Added Design and Base Code