implementation and testing