smarter assets - now we can use this with other models