one more combinator. code is starting to get tricky time to start managing the code snippets more cleverly