added sesion support and change pretty much everything lol