added more functions, WIP