technical patterns