feat: make modules argument optional

Closes #5