andras1

Please consider my thorough feature revisions.