added methods explanations