post types refactored