Implementing the toughest part