All basic code done