added model compiler