serious errors, moving to numpy first