trying to do some speedups. but I should do work