more framework stuff