todo: stop using ruby