always assumes `lin` and `normal`, should probably raise an issue if thats not what the user requested.