added some missing functions (not fully implemented)