Implementation of methods