initial commit - tasks 1-4