Updated some implementation