category implementation and changes to Asset