remove dependency on opencv and move out to seperate module