Changed the implementation