Rewrote Asset to be less retarded