time to rewrite the ci scripts in js!