Resource class for inputs/outputs

I'll leave you with it, up to you to take it or not