more suitable for multiple environments