used methods to hide details.