refactor assets into their own class