category and module structure, some error handling frontend