Add virtual attribute support