Half-ready; hard coded difference must be soft-coded.