implemented first features