(finally) DONE FINAL VER.