I'm also open for combining this pull request with other work currently in progress. WDYT?