added simple rendering logic to abstract component