Adding working implementation