add compiler and demo