Added partial implementation