basic texture support
try to improve texture model