added better assets() abstraction