first iteration bullet point done :D