starting on testing. currently flawed