added contrib, basic validation, swaps are :shit: