abstract class added and stuff moved out of star
using URI instead of String for reousources (level and dim)