Handle modules differently and add type
Optionally free up args for other functions
Write stubs