Implement FogbowResource and refactor