implemented few methods