Basic Assignment, may be more changes if I get time