Rewritten with shadow lines support

Closes #1