more stuff implemented