Adding all code until now