Fixed up some broken math again, added a 'ready' flag to interface