Python Low Level Design Problems