work on #3. runtime parsing to compile time