separate ast parsing lib files into separate modules