this is my current working framework