second update, don't use library. full of bugs now