sort of works, ugly positional arg