basic asset logic