Need to work on implementation and testing