Finalized first draft

@AlexKolpa didn't push