added slower generation pattern