main additions from framework.dev