appears to be fully working. needs more testing though.