this desing is too too slow