Added include guards + general coding guidelines