https://123dok.net/document/qvlmpr6d-specification-subroutines.html