moved some framework methods into a separate file