finish implementing feature 1