First batch of implemenatation