Moved prototype code from the separate branch for easier handling