Implementing everythinggg