implementing last feature