finished existing co functionality