program hooked
merged in alex work
the final merge