funcations modification