use classes instead of instances for more convenience