still doesn't work though it's behavior is better