implemented feature #20