Refactored into features and added tests
Minor comment about the deps
Added basic error handling
Get imaget implemented