TODO: implementing normal method