Removed previous failed implementation to start clean