finish seperate & and | in main.c