added and finished features for 3