this will be an interesting task...