more orm-like behaviour