add compiler and router!