pattern
pattern hack
cleanup
in progress with custom pattern