use build-in script functions instead of own implementations