semantic design