add manual generation and spec